//题目链接：https://www.luogu.com.cn/problem/P1177#submit
#include <iostream>
using namespace std;

const int N = 1e6+10;
int a[N];
void quick_sort(int l , int r)
{
    if(l >= r) return;
    int x = a[l+(r-l)/2] , i = l-1 , j = r + 1;
    while(i < j)
    {
        do i++;while(a[i] < x);
        do j--;while(a[j] > x);
        if(i < j) swap(a[i],a[j]);
    }
    quick_sort(l,j);
    quick_sort(j+1,r);
}

int main()
{
    int n;
    scanf("%d",&n);
    for(int i = 0 ; i < n ; ++i) scanf("%d",&a[i]);
    quick_sort(0,n-1);
    for(int i = 0 ; i < n ; ++i) printf("%d ",a[i]);
    return 0;
}